#include <bits/stdc++.h> 

const int MAXN = 20;
#define LL long long

LL a[MAXN];                      // 存放每种蝉的周期
LL f[(1 << MAXN) + 5];           // f[S]：集合 S 的贡献值（不同阶段含义不同）
int m, n;                        // n = 蝉的种类数, m = 要求“恰好爆发的种类数”
LL Y;                            // 年份上限

// 辗转相除法求 gcd
LL gcd(LL x, LL y) {
    return !y ? x : gcd(y, x % y);
}

int main() {
    scanf("%d%d%lld", &n, &m, &Y);
    for (int i = 0; i < n; ++i) scanf("%lld", a + i);

    // 空集 S = {}，其 lcm = 1，所以在 [1, Y] 中有 Y 个年份满足
    f[0] = Y;

    // Step 1: 枚举所有子集 S，计算 f[S] = floor(Y / lcm(S))
    // 也就是 “在 1..Y 中能被 S 中所有元素整除的年份个数”
    for (int S = 1; S < (1 << n); ++S) {
        LL l = 1; // 当前子集的 lcm
        for (int i = 0; i < n; ++i) {
            if ((S >> i) & 1) {  // 如果 i 在子集 S 中
                LL g = gcd(l, a[i]);
                // 计算 lcm(l, a[i])，但要注意防止溢出
                // l/g * a[i] <= Y 时才合法，否则 lcm 超过 Y，就认为无效
                if (l / g <= Y / a[i]) {
                    l = l / g * a[i];
                } else {
                    l = Y + 1; // 置成 >Y，这样 Y/l = 0
                }
            }
        }
        f[S] = Y / l; // 被 lcm 整除的倍数个数
    }

    // Step 2: 子集 Möbius 反演
    // 目前 f[S] 的含义是：
    //   “在 [1,Y] 内，能被 S 中所有元素整除的年份个数”
    // 也就是说，f[S] 包含了所有“超集 T ⊇ S”的贡献。
    //
    // 我们需要把它变成：
    //   “在 [1,Y] 内，恰好被集合 S 整除的年份个数（不会被更多元素整除）”
    //
    // 这一步就像一维数组里的“后缀和转回原数组”，
    // 只不过这里的下标是子集，而“后缀”关系变成了“子集/超集”关系。
    for (int i = 0; i < n; ++i) {
        for (int S = 0; S < (1 << n); ++S) {
            if (!((S >> i) & 1)) {
                // 如果 S 没有包含 i，那 S^(1<<i) 就是把 i 加进去的超集
                // 由于 f[S] 最初包含了 f[S^(1<<i)] 的贡献，
                // 我们需要减掉它，保证 f[S] 只剩下“恰好 S”的部分
                f[S] -= f[S ^ (1 << i)];
            }
        }
    }

    // Step 3: 累加答案
    // 经过反演后，f[S] 表示：
    //   “在 [1,Y] 内，恰好被集合 S 的这些周期整除的年份个数”
    // 现在只需要把大小为 m 的子集 S 的 f[S] 加起来
    LL ans = 0;
    for (int S = 0; S < (1 << n); ++S) {
        if (__builtin_popcount(S) == m) {
            ans += f[S];
        }
    }

    printf("%lld\n", ans);
    return 0;
}
